#pragma once

#include <cv.h>
#include <highgui.h>
#include <math.h>
#include <vector>
#include <stdlib.h>
#include "Tracklet.h"
#include "Hist.h"
#include "Utils.h"
#include <iostream>

using namespace std;


class Container
{
public:
	vector<Tracklet> tracklets;	// list of tracklets
	//int size;	// total number of tracklet
	int currentLabel;
	double gap;
	double lowThreshold;
	int lastFrame;
public:
	Container();
	~Container();
	
	int FindApproTracklet(CvRect p, int iframe);
	int InsertNewTracklet(CvRect p, int iframe);
	double CalDistance2Object(CvRect p1, CvRect p2);
	int GetTrackletLabel(int index);

	void RemoveDuplicateDSet();
	void PrepareNextProcess(int ignoreFrame);
};